<?php
require_once('IFachada.php');
require_once($_SERVER["DOCUMENT_ROOT"] . '/Esquina_da_TI/Negocio/ControleUsuario.php');
require_once($_SERVER["DOCUMENT_ROOT"] . '/Esquina_da_TI/Negocio/ControleEnquete.php');
require_once($_SERVER["DOCUMENT_ROOT"] . '/Esquina_da_TI/Negocio/ControleNewsLetter.php');
require_once($_SERVER["DOCUMENT_ROOT"] . '/Esquina_da_TI/Negocio/ControleOportunidadeEmprego.php');
require_once($_SERVER["DOCUMENT_ROOT"] . '/Esquina_da_TI/Negocio/ControleNoticia.php');
require_once($_SERVER["DOCUMENT_ROOT"] . '/Esquina_da_TI/Negocio/ControleForum.php');
require_once($_SERVER["DOCUMENT_ROOT"] . '/Esquina_da_TI/Negocio/ControleArtigo.php');
require_once($_SERVER["DOCUMENT_ROOT"] . '/Esquina_da_TI/Negocio/Validador.php');
require_once ($_SERVER["DOCUMENT_ROOT"] . '/Esquina_da_TI/Negocio/ControleBanner.php');
/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 * Description of Fachada
 *
 * @author Paulo
 */
class Fachada implements IFachada {

    private $controleUsuario = null;
    private $controleEnquete = null;
    private $controleNewsLetter = null;
    private $controleOportunidadeEmprego = null;
    private $controleNoticia = null;
    private $controleForum = null;
    private $controleArtigo = null;
    private $controleBanner = null;
    private $validador = null;
    

    function __construct() {
        $this->controleUsuario = new ControleUsuario();
        $this->controleEnquete = new ControleEnquete();
        $this->controleNewsLetter = new ControleNewsLetter();
        $this->controleOportunidadeEmprego = new ControleOportunidadeEmprego();
        $this->controleNoticia = new ControleNoticia();
        $this->controleForum = new ControleForum();
        $this->controleArtigo = new ControleArtigo();
        $this->controleBanner = new ControleBanner();
        $this->validador = new Validador();
    }



    public function cadastrarUsuario($usuario) {
        return $this->controleUsuario->cadastrarUsuario($usuario);
    }

    public function localizarUsuario($codigo, $nome, $login) {
        return $this->controleUsuario->localizarUsuario($codigo, $nome, $login);
    }

    public function atualizarUsuario($usuario){        
        return $this->controleUsuario->atualizarUsuario($usuario);
    }

    public function excluirUsuario($codUsuario){
        return $this->controleUsuario->excluirUsuario($codUsuario);
    }
    public function fazerLogin($login,$senha){
        return $this->controleUsuario->fazerLogin($login, $senha);
    }
    public function meusPosts($login){
        return $this->controleUsuario->meusPosts($login);
    }
    public function meusTopicos($login){
        return $this->controleUsuario->meusTopicos($login);
    }


    

    public function exibirMenssagemErro($msg) {
        $this->validador->exibirMenssagemErro($msg);
    }


    public function exibirMenssagem($msg) {
        $this->validador->exibirMenssagem($msg);
    }


    public function validaImagem($texto, $imagem){
        return $this->validador->validaImagem($texto, $imagem);
    }

    public function validarEmail($email){
        return $this->validador->validarEmail($email);
    }
    public function validarLogin($login){
        return $this->validador->validarLogin($login);
    }
    public function validarRazao($razao){
        return $this->validador->validarRazao($razao);
    }
    public function validarSenha($senha){
        return $this->validador->validarSenha($senha);
    }
    public function validarCpf($cpf){
        return $this->validador->validarCpf($cpf);
    }
    public function validarCnpj($cnpj){
        return $this->validador->validarCnpj($cnpj);
    }

    public function verificarEmail($email){
        return $this->validador->verificarEmail($email);
    }
    public function verificarRazao ($razao){
        return $this->validador->verificarRazao($razao);
    }
    public function verificarLogin($login){
        return $this->validador->verificarLogin($login);
    }
    public function verificarCpf($cpf){
        return $this->validador->verificarCpf($cpf);
    }
    public function verificarCnpj($cnpj){
        return $this->validador->verificarCnpj($cnpj);
    }

    public function validarCampos($nome,$email,$login,$senha,$cpf,$cnpj,$razaoSocial){
        return $this->validador->validarCampos($nome, $email, $login, $senha, $cpf, $cnpj, $razaoSocial);
    }

    public function validarUsuario($usuario){
        return $this->validador->validarUsuario($usuario);
    }




    public function cadastrarEmailNewsLetter($email){
        return $this->controleNewsLetter->cadastrarEmail($email);
    }
    public function removerEmailNewsLetter($email){
        return $this->controleNewsLetter->removerEmail($email);
    }
    public function verificarEmailNewsLetter($email){
        return $this->controleNewsLetter->verificarEmail($email);
    }
    public function enviarNewsLetter($newsLetter){
        return $this->controleNewsLetter->enviarNewsLetter($newsLetter);
    }




    public function cadastrarEnquete($enquete){
        return $this->controleEnquete->cadastrarEnquete($enquete);
    }
    public function localizarEnquete($codigo,$titulo){
        return $this->controleEnquete->localizarEnquete($codigo, $titulo);
    }
    public function atualizarEnquete($enquete){
        return $this->controleEnquete->atualizarEnquete($enquete);
    }
    public function removerEnquete($codigo){
        return $this->controleEnquete->removerEnquete($codigo);
    }
    public function enqueteAtual(){
        return $this->controleEnquete->enqueteAtual();
    }
    public function votarOpcao1($titulo){
        return $this->controleEnquete->votarOpcao1($titulo);
    }
    public function votarOpcao2($titulo){
        return $this->controleEnquete->votarOpcao2($titulo);
    }
    public function votarOpcao3($titulo){
        return $this->controleEnquete->votarOpcao3($titulo);
    }


    public function cadastrarOportunidadeEmprego($oportunidadeEmprego){
        return $this->controleOportunidadeEmprego->cadastrarOportunidadeEmprego($oportunidadeEmprego);
    }
    public function localizarOportunidadeEmprego($codigo,$titulo){
        return $this->controleOportunidadeEmprego->localizarOportunidadeEmprego($codigo,$titulo);
    }
    public function atualizarOportunidadeEmprego($oportunidadeEmprego){
        return $this->controleOportunidadeEmprego->atualizarOportunidadeEmprego($oportunidadeEmprego);
    }
    public function removerOportunidadeEmprego($codigo,$titulo){
        return $this->controleOportunidadeEmprego->removerOportunidadeEmprego($codigo,$titulo);
    }
    public function listarOportunidades(){
        return $this->controleOportunidadeEmprego->listarOportunidades();
    }



    public function cadastrarNoticia($noticia){
        return $this->controleNoticia->cadastrarNoticia($noticia);
    }
    public function localizarNoticia($codNoticia,$titulo){
        return $this->controleNoticia->localizarNoticia($codNoticia, $titulo);
    }
    public function atualizarNoticia($noticia){
        return $this->controleNoticia->atualizarNoticia($noticia);
    }
    public function removerNoticia($codNoticia){
        return $this->controleNoticia->removerNoticia($codNoticia);
    }
    public function noticiasRecentes(){
        return $this->controleNoticia->noticiasRecentes();
    }


    public function listarForuns(){
        return $this->controleForum->listarForuns();
    }
    public function listarAssuntos($forum){
        return $this->controleForum->listarAssuntos($forum);
    }
    public function listarTopicos($assunto){
        return $this->controleForum->listarTopicos($assunto);
    }
    public function exibirTopico($topico){
        return $this->controleForum->exibirTopico($topico);
    }
    public function listarRespostas($topico){
        return $this->controleForum->listarRespostas($topico);
    }
    public function cadastrarPost($novoPost){
        return $this->controleForum->cadastrarPost($novoPost);
    }
    public function cadastrarAssunto($assunto, $forum){
        return $this->controleForum->cadastrarAssunto($assunto, $forum);
    }
    public function recuperarCodigoAssunto($assunto){
        return $this->controleForum->recuperarCodigoAssunto($assunto);
    }
    public function verificarExistenciaAssunto($assunto){
        return $this->controleForum->verificarExistenciaAssunto($assunto);
    }
    public function cadastrarTopico($novoTopico){
        return $this->controleForum->cadastrarTopico($novoTopico);
    }
    public function topicosRecentes(){
        return $this->controleForum->topicosRecentes();
    }


    public function mostrarNoticias(){
        return $this->controleNoticia->mostrarNoticias();
    }
    public function carregarNoticia($id){
        return $this->controleNoticia->carregarNoticia($id);
    }

    public function cadastrarArtigo($artigo){
        return $this->controleArtigo->cadastrarArtigo($artigo);
    }
    public function exibirArtigosPendentes(){
        return $this->controleArtigo->exibirArtigosPendentes();
    }
    public function carregarArtigo($id){
        return $this->controleArtigo->carregarArtigo($id);
    }
    public function removerArtigo($id){
        return $this->controleArtigo->removerArtigo($id);
    }
    public function validarArtigo($id){
        return $this->controleArtigo->validarArtigo($id);
    }
    public function filtrarPorAssunto($assunto){
        return $this->controleArtigo->filtrarPorAssunto($assunto);
    }

    public function cadastrarBanner($banner){
        return $this->controleBanner->cadastrarBanner($banner);
    }

    public function localizarBanner($codigo,$cliente){
        return $this->controleBanner->localizarBanner($codigo, $cliente);
    }

    public function atualizarBanner($banner){
        return $this->controleBanner->atualizarBanner($banner);
    }

    public function removerBanner($codigo){
        return $this->controleBanner->removerBanner($codigo);
    }

    public function mostrarBanner(){
        return $this->repositorioBanner->mostrarBanner();
    }

}
?>
